home *** CD-ROM | disk | FTP | other *** search
- There appears to be a bug in the IBM ROM BIOS and at least 1 clone BIOS
- (the Zenith BIOS). When in high-res graphics mode (640 x 200), the BIOS will
- correctly plot a character in the forground color, but it will not erase a
- character when plotted in the background color. Instead, it plots the
- character again in the forground color.
- To work around this problem, shell functions for GRCHAR and GRATCHAR are
- given in the file REPLACE.BUG. The shell functions, named GCHAR and GATCHAR,
- have the same calling conventions as GRCHAR and GRATCHAR, but when the color
- is 0 (background), they plot a space from the regular character set, thus
- erasing the character. Also, as PRINTBANNER and PRINTCOLUMN call the function
- GRATCHAR, alternate definitions for them are also in the REPLACE.BUG file.
- Another method of erasing these characters would be to use the XOR draw
- available by adding 128 (0x80 in hex, this sets the parity bit) to the
- character color. This is not used in the bug fix, however, as calling the
- routine in medium resolution (320 x 200) would need to know the original color
- of the character to erase it.
-
- If you know a better solution, or know why this bug exists, I would be
- interested in hearing from you.
-
- Thank you,
- Your friendly neighborhood programmer
-